I am trying to write code to find all the prime numbers before a user entered number. I started with a working program and when I tried to create a function, it got all messed up. Can you help fix it ?
Code:
#include <stdio.h>
int is_prime( int num );
int get_positive_integer(void);
int main( ) {
int upper; /* upper limit to check */
int num; /* current number to check */
int isprime;
/* used to flag if number is prime or not */
upper = get_positive_integer();
/* Outer Loop - loop over num in range [2, upper] */
for (num = 2; num <= upper; num++) {
/* Inner Loop - check if num is prime */
is_prime(num); {
isprime = 1; /* 1 = TRUE; assume num is prime to start */
isprime = is_prime;
}
if (isprime) {
printf("%d is prime.\n", num);
}
}
return 0;
}
int get_positive_integer(void)
{
int number;
do {
printf("Enter a positive integer: ");
scanf("%d", &number);
} while (number < 1);
return number;
}
int is_prime( int num ){
int div; /* divisor */
for (div=2; div<num; div++) {
/* if div divides num evenly, then num % div == 0 */
if (num % div == 0) {
break;
}
}
return 0;
return 1;
}
Sorry about indentation mistakes in advance. It says the error is on line 23